typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef signed char	i8;
typedef signed int	i16;
typedef signed long	i32;

void foo() {
	u8 u8_;
	u16 u16_;
	u32 u32_;
	i8 i8_;
	i16 i16_;
	i32 i32_;

	u8_ = 8;
	u16_ = 16;
	u32_ = 32;

	i8_ = -8;
	i16_ = -16;
	i32_ = -32;

	u8_ = u16_;
	u8_ = u32_;
	u16_ = u8_;
	u16_ = u32_;
	u32_ = u8_;
	u32_ = u16_;
	
	i8_ = i16_;
	i8_ = i32_;
	i16_ = i8_;
	i16_ = i32_;
	i32_ = i8_;
	i32_ = i16_;

	i8_ = u8_;
	i8_ = u16_;
	i8_ = u32_;

	i16_= u8_;
	i16_ = u16_;
	i16_ = u32_;

	i32_ = u8_;
	i32_ = u16_;
	i32_ = u32_;

	u8_ = i8_;
	u8_ = i16_;
	u8_ = i32_;

	u16_ = i8_;
	u16_ = i16_;
	u16_ = i32_;

	u32_ = i8_;
	u32_ = i16_;
	u32_ = i32_;
}
